package cn.zzz.openplatform.amap.model.event;

import cn.zzz.openplatform.amap.model.AmapOpenApiRequest;
import lombok.*;

/**
 * 交通事件查询请求参数
 * <a href="https://et-api.amap.com/event/queryByAdcode">接口文档</a>
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AmapEventQueryRequest extends AmapOpenApiRequest<AmapEventQueryResponse> {
    /**
     * 城市代码
     * 授权城市ADCODE（城市级）
     * 必填：是
     */
    private String adcode;

    /**
     * 请求服务权限标识
     * 用户在高德开放平台官网申请Web服务API类型KEY
     * 必填：是
     */
    private String clientKey;

    /**
     * 时间戳
     * 秒时间，例如1621243952 单位秒
     * 必填：是
     */
    private Long timestamp;

    /**
     * 鉴权动态密钥
     * 根据授权密钥计算出的动态鉴权信息
     * 必填：是
     */
    private String digest;

    /**
     * 事件类型码
     * 仅获取对应类型事件，多个用分号分割
     * 必填：是
     */
    private String eventType;

    /**
     * 只获取高速
     * 1-是 0-否
     * 必填：是
     */
    private Integer isExpressway;

    @Override
    public Class<AmapEventQueryResponse> getResponseClass() {
        return AmapEventQueryResponse.class;
    }

    @Override
    public String getUrl() {
        return "/event/queryByAdcode"; // 根据实际URL常量修改
    }
}